package com.itheima.d10_extension;

/**
 * 运行时多态和编译时多态的区别：
 *      ·运行时多态：多态绑定   【方法重写】，只有在运行时才能够确定调用方法
 *      ·编译时多态：静态绑定   【方法重载】，在编译之前就可以确定调用的方法
 */
public class Demo {
    public void main(String[] args) {
        add(10, 20);
        add("Hello", "World");

        A a = new D();
        a.show();
    }

    public static void add(int a, int b) {
        System.out.println(a + b);
    }

    public static void add(String a, String b) {
        System.out.println(a + b);
    }

    class A{
        public void show() {
            System.out.println("我来自A");
        }
    }

    class B extends A{
        public void show() {
            System.out.println("我来自B");
        }
    }

    class C extends B {
        public void show() {
            System.out.println("我来自C");
        }
    }

    class D extends C {
        public void show() {
            System.out.println("我来自D");
        }
    }
}
